var stu = {}
$(function () {
    let id = getUrlParam("id");
    // 加载班级
    ajaxGet("/grade?method=query", {}, function (data) {
        data = JSON.parse(data);
        if (data.success) {
            loadGrade(data.data.gradeList);
        } else {
            alert("服务器正忙，查询班级失败");
        }
    });
    if (id != null){
        // id非空即为修改
        $("#method").val("update");
        // 加载学生
        ajaxGet("/student?method=getById&id="+id, {}, function (data) {
            data = JSON.parse(data);
            if (data.success) {
                stu = data.data.student;
                loadStu();
            } else {
                alert("服务器正忙，查询失败");
            }
        });
    }else{
        // 新增
        $("#method").val("insert");
    }

    // 绑定事件
    $("#submitBtn").click(function () {
        // 异步提交
        var data = $("#editForm").serialize();
        ajaxPost("/student", data, function (data) {
            data = JSON.parse(data);
            alert(data.msg);
            if (data.success) {
                location.href = "list.html";
            }
        });
        // 表单不提交，避免刷新
        return false;
    });
    $("#numberTxt").blur(function () {
        // 验证学号是否重复
        numberRepeat();
    })
})
//获取url中的参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return unescape(r[2]); return null; //返回参数值
}
function loadStu() {
    $("#idTxt").val(stu.id);
    $("#numberTxt").val(stu.number);
    $("#nameTxt").val(stu.name);
    $("#emailTxt").val(stu.email);
    $("#phoneTxt").val(stu.phone);
    $("#registeredTxt").val(stu.registered);
    $("#addressTxt").val(stu.address);
    $("#politicsTxt").val(stu.politics);
    $("#idNoTxt").val(stu.idNo);
    $("#professionTxt").val(stu.profession);
    $("#introductionTxt").val(stu.introduction);
    // 班级
    var options = $("#gradeSelect option");
    var gradeId = stu.gradeId+"";
    for(var i =0;i<options.length;i++){
        var option = options[i];
        if($(option).val() == gradeId){
            $(option).attr("selected");
        }
    }
    // 性别
    if (stu.sex == "MALE"){
        $("#sexMale").attr("checked");
    }else{
        $("#sexFemale").attr("checked");
    }
}

function loadGrade(gradeList) {
    var html = "";
    for(var i =0;i<gradeList.length;i++){
        var grade = gradeList[i];
        html += "<option value='"+grade.id+"'>"+grade.name+"</option>";
    }
    $("#gradeSelect").html(html);
}

function numberRepeat() {
    var id = $("#idTxt").val();
    var number = $("#numberTxt").val();
    ajaxGet("/student?method=checkNumber&number="+number+"&id="+id, {}, function (data) {
        data = JSON.parse(data);
        if (data.success) {
            if (data.data.exist){
                $("#numberMsg").text("已存在相同学号，不允许重复");
                $("#numberMsg").css("color","red");
            }else {
                $("#numberMsg").text("");
            }
        } else {
            alert("服务器正忙，验证学号重复性失败");
        }
    });

}